home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Adobe Graphics & Publishing SDK 1996 December
/
Adobe Graphics & Publishing SDK 1996 December.iso
/
pc
/
pm65sdk
/
sourcecode
/
includes
/
imediastore.h
< prev
next >
Wrap
C/C++ Source or Header
|
1996-11-18
|
3KB
|
79 lines
/********************************************************************
* IMedia.h - Filter-Public Media Class
*
* Copyright (C) 1996 Adobe Systems Incorporated. All rights reserved
*
* ABSTRACT:
* IMEDIA_STORE is a pure virtual interface class used as a base for
* MEDIA_STORE. IMEDIA_STORE objects are handed to filters so that filters
* obtain an interface for storing media information and/or content
* along with an image being imported by the filter. Objects of the class
* are instantiated by ALDInfoProc() during ALD_APP_MEDIA_STORE.
* THE FILTER IS EXPECTED TO DESTROY THE OBJECT WHEN FINISHED.
*
* $Revision: 1.0 $
*
*******************************************************************/
#ifndef IMEDIA_H
#define IMEDIA_H
#include "aldtypes.h"
typedef enum HTMLPLATFORM
{
HTMLPLATFORM_MAC = 0x4d4d4d4d, // MMMM
HTMLPLATFORM_WIN = 0x57575757 // WWWW
} HTMLPLATFORM;
// use of one or more of the following flags alerts HTML Export to the presence of data
// that requires maintenance by HTML Export. For example, specifying HTMLPFLAG_WIDTH + HTMLPFLAG_HEIGHT
// indicate that HTML Export find cases of: WIDTH=???? HEIGHT=???? and replace with WIDTH=345 HEIGHT=100
// (or whatever size the image is on export).
typedef enum HTMLPARAMFLAGS {HTMLPFLAG_HREF = 1, HTMLPFLAG_SRC = 2, HTMLPFLAG_WIDTH = 4,
HTMLPFLAG_HEIGHT = 8}
HTMLPARAMFLAGS;
// use of one or more of the following flags alerts HTML Export to certain requested behavior
// by the filter.
// HTMLAFLAG_NOIMAGE specifies that the image should never be exported to a file
// by Export HTML. This is generally desireable for media tags like <EMBED>.
// HTMLAFLAG_REPLACEIMGTAG specifies that the media tags should replace the <IMG> tag.
// The alternative is to allow Export HTML to attempt to directly interpret your media
// tag and to decide for itself what to replace the <IMG> tag with, if anything.
// Media filters will almost always desire to set this flag!
//
typedef enum HTMLAUXFLAGS {HTMLAFLAG_NOIMAGE = 1, HTMLAFLAG_REPLACEIMGTAG = 2}
HTMLAUXFLAGS;
// HTMLPRIVDATA is the structure used for "HTML Data" private data
// stored by PageMaker for filters and plugins, and used by Export HTML.
// This structure definition is dictated by Export HTML, and may change
// in future versions of Export HTML. PageMaker itself is to know nothing
// about this structure.
typedef struct _HTMLPRIVDATA
{
DWORD dwUlSize; // size of the private data, inc ulSize, flags and tag data.
DWORD dwPlatform; // use HTMLPLATFORM
DWORD dwVersion; // version of this structure. Current version is 0.
DWORD dwParamFlags; // use HTMLPARAMFLAGS
DWORD dwAuxFlags; // use HTMLAUXFLAGS
DWORD dwOffsetOther; // offset to other data
char szContent; // the HTML tag info
} HTMLPRIVDATA;
class IMEDIA_STORE
{
public:
virtual ~IMEDIA_STORE() { }
virtual WORD GetVersion() = 0;
virtual RC SetMediaType(char *pszMediaType) = 0;
virtual RC SetPluginType(char *pszPluginType) = 0;
virtual RC StorePDFMark(char *buf, long len) = 0;
virtual RC StoreHTMLData(BYTE *buf, long len) = 0;
virtual RC SetImageToNonPrinting(void) = 0;
};
#endif // IMEDIA_H